前端架构
背景
第一:现在市面上的框架层出不进,更新速度也比较快。从2016的Vue2 到2021的Vue3,很多库也是依赖于这些框架的。那我们的项目到底要不要升级到最新的Vue3,以及如何升级,升级后的收益比如何?这些往往是主要考虑的。但是如果不升级后面的这些框架新特性,以及相关的库很有可能你又用不了。往往咱们就被这些框架所绑定了。
如何做到“我们用框架,而不是我们被框架绑定“?
第二:或许你想扩展你的开发,以便多个团队可以共同开发一个产品,但是现有项目的庞大程度、耦合性和复杂性,使得大家都在互相踩脚。
如何做到“将项目拆分成较小的独立部分,使得软件开发更加容易”?
第三:或许你正在维护一个长达5年以上的大型项目,这个项目现在启动要几分钟,打包甚至要十多分钟,这样下去严重滞后了你的开发进度。随着时间的推移这个大型项目很难做到对已经存在的技术栈做全量的升级,只能推翻重构。无法实施渐进式重构的手段和策略。
如何做到“在面对各种复杂场景时,大型项目在长期状态下,保持健康,可扩展,可维护。”
解决方案
以上这些都是真正的问题,都会对我们的生产能力产生负面影响。
在我的工作经历中架构主要还是业务架构,咱们在开发企业级应用的时候会选择微前端架构设计,为什么选择这种架构模式主要是因为现实情况,如:跨团队开发、跨技术栈开发、独立开发、独立部署等等。
通过微前端架构设计可以做到与技术栈无关、增加升级这些。
技术栈选型
独立的子应用开发的时候也要做技术选型,在做选型的时候,我往往会考虑以下几个因素:
- 是否符合团队现状
- 你自己的技术能力、团队其他成员的技术能力、时间、管理方案、沟通结果、维护成本、技术方案本身的优缺点
- 是否符合项目需求
- 生态圈是否完善、社区是否活跃
能把技术用在适合他的地方,才是一个成熟的架构师应该追求的能力。而不只是追求技术本身。